package com.kolalo.annotation.beans;

import org.springframework.beans.factory.annotation.Autowired;/*用来装配bean，都可以写在字段上，或者方法上。默认情况下必须要求依赖对象必须存在，如果要允许null值，可以设置它的required属性为false，例如：@Autowired(required=false)*/
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;/*标识一个该类是Spring MVC controller处理器，用来创建处理http请求的对象.*/
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*Spring4之后加入的注解，原来在@Controller中返回json需要@ResponseBody来配合，如果直接用@RestController替代@Controller就不需要再配置@ResponseBody，默认返回json格式。*/
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;/*用于标注业务层组件，说白了就是加入你有一个用注解的方式把这个类注入到spring配置中*/
import org.springframework.stereotype.Indexed;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.annotation.Generated;
import javax.annotation.Resource;
import javax.annotation.Resources;
import javax.xml.ws.ResponseWrapper;

//@Controller
//@Service
//@Component
//@Repository
@Configuration
public class BeanConfig {

    public  BeanConfig(){}

    @Value("${wx_appid}")
    public String name;

    //region bean注解
    @Bean
    public String Name(){
        return "";
    }
    //endregion

    //region PostConstruct和PreDestroy注解
    @PostConstruct
    public void initBean(){
        //做初始化bean的操作
    }
    @PreDestroy
    public  void preDestory(){
        //bean生命周期结束前的操作
    }
    //endregion

    //Bean的生命周期
}
